package com.itheima.reggie.controller;

import com.itheima.reggie.common.R;
import com.itheima.reggie.entity.Orders;
import com.itheima.reggie.service.OrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 订单
 */
@Slf4j
@RestController
@RequestMapping("/order")
@Api(tags = "订单相关接口")
public class OrderController {
    @Autowired
    private OrderService orderService;

    /**
     * 用户下单
     * 不需要返回什么对象数据，返回字符串状态就行
     *
     * @param orders
     * @return
     */
    @PostMapping("/submit")
    @ApiOperation(value = "用户下单接口")
    public R<String> submit(@RequestBody Orders orders){
        //1.打印参数
        log.info("订单数据：{}", orders);
        //将来是不是写一个 实现订单数据保存的方法
        // 能直接去调用 mp提供save方法吗 ? 不能
        // 1:把 orders 表 缺失的数据 填充完整
        // 2: 把 orders订单里的 订单详情信息进行 填充
        //    往 order_detil表中 根据订单id 添加 订单详情信息
        // 3:清空购物项
        // 自己写一个  提交 订单的方法 完成上面三步操作
        orderService.submit(orders);
        return R.success("下单成功");
    }

}